Members
Overall Objectives
Research Program
Application Domains
Highlights of the Year
New Software and Platforms
New Results
Bilateral Contracts and Grants with Industry
Partnerships and Cooperations
Dissemination
Bibliography
XML PDF e-pub
PDF e-Pub


Section: New Software and Platforms

CHOCO

Scientific Description

For fourth consecutive year, CHOCO has participated at the MiniZinc Challenge , an annual competition of constraint programming solvers. Since then, in concurrency with 16 other solvers, CHOCO has won two silver medals and four bronze medals in three out of four categories (Free search, Parallel search and Open class). Five versions have been released all year long, the last one (v3.3.3, Dec. 22th) has the particularity to be promoted on Maven Central Repository. The major modifications were related to an improvement of the overall solver (efficiency, stability and robustness) but also a simplification of the API. As an example, more flexibility has been injected to the search loop, a central concept of the solver.

Functional Description

CHOCO is a Free and Open-Source Software dedicated to Constraint Programming. It is a Java library written under BSD 4-clause license (700 classes, 134K lines of code). It aims at describing hard combinatorial problems in the form of Constraint Satisfaction Problems and solving them with Constraint Programming techniques. The user models its problem in a declarative way by stating the set of constraints that need to be satisfied in every solution. Then, CHOCO solves the problem by alternating constraint filtering algorithms with a search mechanism. In addition to native explanations system, soft constraints and global constraints, the library is, in practice, open, easy to integrate and to tweak. A User Guide is now available: 164 pages describing how to use CHOCO, together with responsive online support (forums and mailing-lists).